package com.demo.java.OD351_400.OD393;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【分割均衡字符串(C&D卷)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146243813
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 读取输入的字符串
        while (scanner.hasNext()) {
            String s = scanner.next();
            int result = balancedStringSplit(s);  // 计算最大平衡子串数量
            System.out.println(result);  // 输出结果
        }
        scanner.close();
    }

    public static int balancedStringSplit(String s) {
        int count = 0;  // 记录平衡子串的数量
        int balance = 0;  // balance用来记录X和Y的数量差
        // 遍历字符串中的每个字符
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == 'X') {
                balance++;  // 如果是X，balance加1
            } else {
                balance--;  // 如果是Y，balance减1
            }
            // 如果balance为0，说明找到了一个平衡子串
            if (balance == 0) {
                count++;  // 增加平衡子串计数
            }
        }
        return count;  // 返回平衡子串的数量
    }
}